#version 150

in vec3 inVertex;
in vec2 inTexCoord;
in vec3 inNormal;

uniform vec3 inLightPos;

uniform mat4 inProj;
uniform mat4 inWorld;
uniform mat4 inView;

out vec2 geomTexCoord;
out vec3 geomLightPos;
out vec3 geomPosition;
out vec3 geomNormal;
out vec3 geomEyeDir;

void main()
{
    gl_Position = inProj * inView * inWorld * vec4(inVertex, 1);

    geomPosition = (inWorld * vec4(inVertex, 1)).xyz;
    geomLightPos = (vec4(inLightPos, 1)).xyz;
    geomEyeDir = (-inView * vec4(inVertex, 1)).xyz;
    geomTexCoord = inTexCoord;
    geomNormal = inNormal;
}

















































